package com.ruoyi.member.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 商品规格信息对象 bm_specification
 *
 * @author ruoyi
 * @date 2023-08-08
 */
public class BmSpecification extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 规格id */
    private Long id;

    /** 所属商品id */
    @Excel(name = "所属商品id")
    private Long goodsId;

    /** 规格名称 */
    @Excel(name = "规格名称")
    private String specificationName;

    /** 原价 */
    @Excel(name = "原价")
    private BigDecimal oldPrice;

    /** 现价 */
    @Excel(name = "现价")
    private BigDecimal price;

    /** 库存 */
    @Excel(name = "库存")
    private Long stock;

    /** 警戒库存 */
    @Excel(name = "警戒库存")
    private Long warnStock;

    /** 总销量 */
    @Excel(name = "总销量")
    private Long allSaled;

    /** 月销量 */
    @Excel(name = "月销量")
    private String currentMonth;

    /** 是否上架 0.未上架 1.上架 */
    @Excel(name = "是否上架 0.未上架 1.上架")
    private Long isShelves;

    /** 是否推荐 0.不推荐 1.推荐 */
    @Excel(name = "是否推荐 0.不推荐 1.推荐")
    private Long isRecommond;

    /** 商品图片 */
    @Excel(name = "商品图片")
    private String goodsImgUrl;

    /** 保质期 */
    @Excel(name = "保质期")
    private String qualityPeriod;

    /** 二维码 */
    @Excel(name = "二维码")
    private String barCode;

    /** 生产日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date productionDate;

    /** 购买数量 */
    @Excel(name = "购买数量")

    private Long buyNum;
    /** 仓库id */
    @Excel(name = "仓库id")
    private Long specificationId;

    public Long getBuyNum() {
        return buyNum;
    }

    public void setBuyNum(Long buyNum) {
        this.buyNum = buyNum;
    }

    public Long getSpecificationId() {
        return specificationId;
    }

    public void setSpecificationId(Long specificationId) {
        this.specificationId = specificationId;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setGoodsId(Long goodsId)
    {
        this.goodsId = goodsId;
    }

    public Long getGoodsId()
    {
        return goodsId;
    }
    public void setSpecificationName(String specificationName)
    {
        this.specificationName = specificationName;
    }

    public String getSpecificationName()
    {
        return specificationName;
    }
    public void setOldPrice(BigDecimal oldPrice)
    {
        this.oldPrice = oldPrice;
    }

    public BigDecimal getOldPrice()
    {
        return oldPrice;
    }
    public void setPrice(BigDecimal price)
    {
        this.price = price;
    }

    public BigDecimal getPrice()
    {
        return price;
    }
    public void setStock(Long stock)
    {
        this.stock = stock;
    }

    public Long getStock()
    {
        return stock;
    }
    public void setWarnStock(Long warnStock)
    {
        this.warnStock = warnStock;
    }

    public Long getWarnStock()
    {
        return warnStock;
    }
    public void setAllSaled(Long allSaled)
    {
        this.allSaled = allSaled;
    }

    public Long getAllSaled()
    {
        return allSaled;
    }
    public void setCurrentMonth(String currentMonth)
    {
        this.currentMonth = currentMonth;
    }

    public String getCurrentMonth()
    {
        return currentMonth;
    }
    public void setIsShelves(Long isShelves)
    {
        this.isShelves = isShelves;
    }

    public Long getIsShelves()
    {
        return isShelves;
    }
    public void setIsRecommond(Long isRecommond)
    {
        this.isRecommond = isRecommond;
    }

    public Long getIsRecommond()
    {
        return isRecommond;
    }
    public void setGoodsImgUrl(String goodsImgUrl)
    {
        this.goodsImgUrl = goodsImgUrl;
    }

    public String getGoodsImgUrl()
    {
        return goodsImgUrl;
    }
    public void setQualityPeriod(String qualityPeriod)
    {
        this.qualityPeriod = qualityPeriod;
    }

    public String getQualityPeriod()
    {
        return qualityPeriod;
    }
    public void setBarCode(String barCode)
    {
        this.barCode = barCode;
    }

    public String getBarCode()
    {
        return barCode;
    }
    public void setProductionDate(Date productionDate)
    {
        this.productionDate = productionDate;
    }

    public Date getProductionDate()
    {
        return productionDate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("goodsId", getGoodsId())
                .append("specificationName", getSpecificationName())
                .append("oldPrice", getOldPrice())
                .append("price", getPrice())
                .append("stock", getStock())
                .append("warnStock", getWarnStock())
                .append("allSaled", getAllSaled())
                .append("currentMonth", getCurrentMonth())
                .append("isShelves", getIsShelves())
                .append("isRecommond", getIsRecommond())
                .append("goodsImgUrl", getGoodsImgUrl())
                .append("qualityPeriod", getQualityPeriod())
                .append("barCode", getBarCode())
                .append("productionDate", getProductionDate())
                .toString();
    }
}